<?php 
namespace Home\Controller; 
use Common\Model\Article;
use Common\Model\Tag;
use Common\Model\Category;
use Common\Model\ArcTag;
use Common\Model\ArcData;


/**
 *
 * 列表控制器
 */
class ListsController extends CommonController{

	public function __init(){

		parent::__init();
	}
	/**
	 * 
	 * 列表首页显示方法
	 */
	public function index(){
		$tid=Q('get.tid',0,'interval');

		$cid=Q('get.cid',0,'interval');
		
		$tagModel=new Tag;
			
		$articleModel=new Article;

		$categoryModel=new Category;

		$arctagModel=new ArcTag;

		$arcdataModel=new ArcData;

		//标签
		if($tid){

			$newdata=array(
				// 获取该文章的标签名
				'typename'=>$tagModel->where('tid',$tid)->pluck('tname'),
				//获取该文章的标签有几个
				'num'=>$articleModel->join('article_tag','article_aid','=','aid')->where("is_recycle=0 AND tag_tid=$tid")->count(),
				'type'=>'标签'
				);
			// 获取该标签对应的所有文章的arcticle_aid
			$aids=$arctagModel->where('tag_tid',$tid)->lists('article_aid');
			if ($aids) {
				// 将数组转换为字符串implode
				$abc=implode(',',$aids);
				// p($abc);die;
				// 获取该标签下的所有文章
				$data=$articleModel->join('category','category_cid','=','cid')->where("is_recycle=0 AND aid IN({$abc})")->orderBy('sendtime','DESC')->get();
			}else{
				$data=array();
			}
			// p($data);die;
			// 循环$data 将标签压入到$data
			foreach($data as $k=>$v){
				//3表关联 1.tag表 2.arctag中间表 3.article文章表  $data中的$v['aid']就是文章表article的aid
				$data[$k]['tag']=$arctagModel->join('tag','tid','=','tag_tid')->where('article_aid',$v['aid'])->lists('tid,tname');
					// lists('tid,tname')所返回的内容   [1] => 热门
					//									[3] => 环境
			}
			
			// p($data);die;
		}

		//分类
		if ($cid) {
			//获取分类表的所有内容
			$alldata=$categoryModel->get();
			//获取$cid的子类
			$cids=$categoryModel->getSon($alldata,$cid);
			// p($cids);die;
			// 将其本身压入$cids
			$cids[]=$cid;
			// 将数组转换为字符串implode
			$abc=implode(',',$cids);

			$newdata=array(
				// 获取该文章的分类名
				'typename'=>$categoryModel->where('cid',$cid)->pluck('cname'),
				'type'=>'分类',
				//获取该文章分类的子分类和其本身所有条目
				'num'=>$articleModel->join('category','cid','=','category_cid')->where("cid IN({$abc}) AND is_recycle=0")->count()
				);

			// 获取该分类下的所有子分类和其本身 的全部文章
			$data=$articleModel->join('category','category_cid','=','cid')->where("is_recycle=0 AND category_cid IN($abc)")->orderBy('sendtime','DESC')->get();
			// 循环$data 将标签压入到$data
			foreach($data as $k=>$v){
				//3表关联 1.tag表 2.arctag中间表 3.article文章表  $data中的$v['aid']就是文章表article的aid
				$data[$k]['tag']=$arctagModel->join('tag','tid','=','tag_tid')->where('article_aid',$v['aid'])->lists('tid,tname');
					// lists('tid,tname')所返回的内容   [1] => 热门
					//									[3] => 环境
			}
			// p($data);die;
		}


		View::with('newdata',$newdata);
		View::with('data',$data);
		View::make();

	}	
	
 



}













?>